package com.jeson.a360inputmethod.service;

import android.inputmethodservice.InputMethodService;
import android.util.Log;
import android.view.View;
import android.view.inputmethod.InputConnection;
import android.widget.Button;

import com.jeson.a360inputmethod.R;

import static android.content.ContentValues.TAG;

public class AndroidInputMethodService extends InputMethodService implements View.OnClickListener {
    @Override
    public void onClick(View v) {
        switch (v.getId()){
            case R.id.btn_hide:
                // 隐藏软键盘
                hideWindow();
            default:
                Button button = (Button) v;
                // 获得InputConnection对象
                InputConnection inputConnection = getCurrentInputConnection();
                if (button.getId() == R.id.btn_1){
                    // 设置预输入文本
                    // setComposingText方法的第2个参数值为1，表示在当前位置预输入文本
                    inputConnection.setComposingText(button.getText(), 1);

                }else {
                    // 向当前获得焦点的EditText控件输出文本
                    // commitText方法第2个参数值为1，表示在当前位置插入文本
                    inputConnection.commitText(button.getText(), 1);

                }

        }

    }

    @Override
    public View onCreateInputView() {
        // 装载keyboard.xml文件
        View view = getLayoutInflater().inflate(R.layout.keyboard, null);
        // 设置布局中5个按钮的单击事件
         view.findViewById(R.id.btn_1).setOnClickListener(this);
        view.findViewById(R.id.btn_2).setOnClickListener(this);
        view.findViewById(R.id.btn_3).setOnClickListener(this);
        view.findViewById(R.id.btn_4).setOnClickListener(this);
        view.findViewById(R.id.btn_hide).setOnClickListener(this);
        Log.d(TAG, "onCreateInputView()");
        // 返回View对象
        return view;
    }
}
